Torque setting method and apparatus

ABSTRACT

Provided is a method and apparatus for setting a torque of a walking assistance apparatus. A rotation angle and a rotation angular velocity of the walking assistance apparatus may be measured to set the torque. An amount of torque to be set may be calculated based on the rotation angle and the rotation angular velocity of the walking assistance apparatus.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims under 35 U.S.C. § 119 to Korean PatentApplication No. 10-2015-0109978, filed on Aug. 4, 2015, in the KoreanIntellectual Property Office, the entire contents of which areincorporated herein by reference in its entirety.

BACKGROUND

1. Field

At least one example embodiment relates to a torque setting methodand/or apparatus. For example, at least some example embodiments relateto a torque setting method and/or apparatus based on a rotation angleand a rotation angular velocity of a walking assistance apparatus.

2. Description of the Related Art

With developments in robot technology, research on improving a humanability through a mechanical assistance is being actively conducted.Among technologies for improving a human ability, research on enhancinga muscle strength is garnering attention. People performing tasks thatrequire muscle strength in a daily life may have a desire for suchtechnology. In addition to research on enhancing muscle strength,research is also being conducted on gait assistance. In addition to aphysical treatment, a gait assistance provided through a device may bedesirable to those with lower body handicaps.

SUMMARY

Some example embodiments relate to a torque setting method.

In some example embodiments, the torque setting method may includemeasuring a rotation angle of a walking assistance apparatus; measuringa rotation angular velocity of the walking assistance apparatus;calculating a torque setting based on the rotation angle and therotation angular velocity; and setting a torque for the walkingassistance apparatus as the torque setting.

In some example embodiments, the measuring the rotation angle and themeasuring the rotation angular velocity are measured by at least onepotentiometer.

In some example embodiments, the calculating includes calculating afirst value associated with the rotation angle; calculating a secondvalue associated with the rotation angular velocity; and calculating thetorque setting based on the first value and the second value.

In some example embodiments, the calculating the first value includescalculating the first value based on a first function, and thecalculating the second value includes calculating the second value basedon a second function.

In some example embodiments, the first function is a function having anormal distribution and the second function is a sigmoidal function.

In some example embodiments, the rotation angle is an angle by which afoot of a user wearing the walking assistance apparatus is rotatedrelative to a central axis of the user.

In some example embodiments, the rotation angular velocity is a velocityby which the rotation angle changes over time.

In some example embodiments, the method further includes receiving atrigger signal, wherein the setting sets the torque in response to thetrigger signal.

In some example embodiments, and the method further includes generatingthe trigger signal, when a second leg of the user is in contact with aground, and the second leg differs from a first leg of the usergenerating the rotation angle.

In some example embodiments, the generating the trigger signal includesgenerating the trigger signal by a pressure sensor located on a sole ofthe second leg.

In some example embodiments, the calculating includes calculating asecond torque setting based on a first torque setting, the rotationangle, and the rotation angular velocity, and the setting includessetting the torque for the walking assistance apparatus to the secondtorque setting.

Some example embodiments relate to a torque setting apparatus.

In some example embodiments, the apparatus includes at least one sensorconfigured to measure a rotation angle and a rotation angular velocityof a walking assistance apparatus; and a processor configured to,calculate a torque setting of the walking assistance apparatus based onthe rotation angle and the rotation angular velocity, and set a torquefor the walking assistance apparatus as the torque setting.

In some example embodiments, the processor is configured to, calculate afirst value associated with the rotation angle, calculate a second valueassociated with the rotation angular velocity, and calculate the torquesetting based on the first value and the second value.

In some example embodiments, the processor is configured to, calculatethe first value based on a first function, and calculate the secondvalue based on a second function.

In some example embodiments, the first function is function having anormal distribution and the second function is a sigmoidal function.

In some example embodiments, the rotation angle is an angle by which afoot of a user wearing the walking assistance apparatus is rotatedrelative to a central axis of the user.

In some example embodiments, the apparatus further includes acommunicator configured to receive a trigger signal, wherein theprocessor is configured to set the torque in response to the triggersignal.

In some example embodiments, the apparatus further includes a pressuresensor configured to generate the trigger sensor, wherein the generatingcomprises generating the trigger signal when a second leg of a user isin contact with a ground, and the second leg differs from a first leg ofthe user generating the rotation angle.

In some example embodiments, the pressure sensor is configured togenerate the trigger signal based on a pressure on a sole of the secondleg of the user.

In some example embodiments, the processor is configured to, calculate asecond torque setting as the torque setting based on a first torquesetting, the rotation angle, and the rotation angular velocity, and setthe torque for the walking assistance apparatus to the second torquesetting.

Additional aspects of example embodiments will be set forth in part inthe description which follows and, in part, will be apparent from thedescription, or may be learned by practice of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects will become apparent and more readilyappreciated from the following description of example embodiments, takenin conjunction with the accompanying drawings of which:

FIG. 1 illustrates an example of a walking assistance apparatus;

FIG. 2 illustrates another example of a walking assistance apparatus;

FIG. 3 illustrates an example of a relationship between a length of amuscle and a force to be generated;

FIG. 4 illustrates an example of a relationship between a flexion speedof a muscle and a force to be generated;

FIG. 5 is a block diagram illustrating an example of a controller of awalking assistance apparatus;

FIG. 6 is a flowchart illustrating an example of a torque settingmethod;

FIG. 7 is a flowchart illustrating an example of a torque calculatingmethod;

FIG. 8 illustrates an example of a function expressing a first valuecorresponding to a rotation angle;

FIG. 9 illustrates an example a function expressing a second valuecorresponding to a rotation angular velocity;

FIG. 10 is a flowchart illustrating an example of generating a triggersignal, and transmitting and receiving the generated trigger signal;

FIG. 11 illustrates an example of a pressure sensor; and

FIG. 12 illustrates an example of a processor calculating a torque in aclosed loop.

DETAILED DESCRIPTION

Hereinafter, some example embodiments will be described in detail withreference to the accompanying drawings. Regarding the reference numeralsassigned to the elements in the drawings, it should be noted that thesame elements will be designated by the same reference numerals,wherever possible, even though they are shown in different drawings.Also, in the description of example embodiments, detailed description ofwell-known related structures or functions will be omitted when it isdeemed that such description will cause ambiguous interpretation of thepresent disclosure.

It should be understood, however, that there is no intent to limit thisdisclosure to the particular example embodiments disclosed. On thecontrary, example embodiments are to cover all modifications,equivalents, and alternatives falling within the scope of the exampleembodiments. Like numbers refer to like elements throughout thedescription of the figures.

In addition, terms such as first, second, A, B, (a), (b), and the likemay be used herein to describe components. Each of these terminologiesis not used to define an essence, order or sequence of a correspondingcomponent but used merely to distinguish the corresponding componentfrom other component(s). It should be noted that if it is described inthe specification that one component is “connected”, “coupled”, or“joined” to another component, a third component may be “connected”,“coupled”, and “joined” between the first and second components,although the first component may be directly connected, coupled orjoined to the second component.

Spatially relative terms, such as “beneath,” “below,” “lower,” “under,”“above,” “upper,” and the like, may be used herein for ease ofdescription to describe one element or feature's relationship to anotherelement(s) or feature(s) as illustrated in the figures. It will beunderstood that the spatially relative terms are intended to encompassdifferent orientations of the device in use or operation in addition tothe orientation depicted in the figures. For example, if the device inthe figures is turned over, elements described as “below,” “beneath,” or“under,” other elements or features would then be oriented “above” theother elements or features. Thus, the example terms “below” and “under”may encompass both an orientation of above and below. The device may beotherwise oriented (rotated 90 degrees or at other orientations) and thespatially relative descriptors used herein interpreted accordingly. Inaddition, when an element is referred to as being “between” twoelements, the element may be the only element between the two elements,or one or more other intervening elements may be present.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting. As used herein, thesingular forms “a,” “an,” and “the,” are intended to include the pluralforms as well, unless the context clearly indicates otherwise. It willbe further understood that the terms “comprises,” “comprising,”“includes,” and/or “including,” when used herein, specify the presenceof stated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

When an element is referred to as being “on,” “connected to,” “coupledto,” or “adjacent to,” another element, the element may be directly on,connected to, coupled to, or adjacent to, the other element, or one ormore other intervening elements may be present. In contrast, when anelement is referred to as being “directly on,” “directly connected to,”“directly coupled to,” or “immediately adjacent to,” another elementthere are no intervening elements present.

It should also be noted that in some alternative implementations, thefunctions/acts noted may occur out of the order noted in the figures.For example, two figures shown in succession may in fact be executedsubstantially concurrently or may sometimes be executed in the reverseorder, depending upon the functionality/acts involved.

Various example embodiments will now be described more fully withreference to the accompanying drawings in which some example embodimentsare shown. In the drawings, the thicknesses of layers and regions areexaggerated for clarity.

As used herein, the singular forms “a,” “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “include” and/or“have,” when used in this specification, specify the presence of statedfeatures, integers, steps, operations, elements, components orcombinations thereof, but do not preclude the presence or addition ofone or more other features, integers, steps, operations, elements,components, and/or groups thereof.

Unless otherwise defined, all terms including technical and scientificterms used herein have the same meaning as commonly understood by one ofordinary skill in the art to which these example embodiments belong. Itwill be further understood that terms, such as those defined in commonlyused dictionaries, should be interpreted as having a meaning that isconsistent with their meaning in the context of the relevant art andwill not be interpreted in an idealized or overly formal sense unlessexpressly so defined herein.

Regarding the reference numerals assigned to the elements in thedrawings, it should be noted that the same elements will be designatedby the same reference numerals, wherever possible, even though they areshown in different drawings. Also, in the description of embodiments,detailed description of well-known related structures or functions willbe omitted when it is deemed that such description will cause ambiguousinterpretation of the present disclosure.

Example embodiments may be described with reference to acts and symbolicrepresentations of operations (e.g., in the form of flow charts, flowdiagrams, data flow diagrams, structure diagrams, block diagrams, etc.)that may be implemented in conjunction with units and/or devicesdiscussed in more detail below. Although discussed in a particularlymanner, a function or operation specified in a specific block may beperformed differently from the flow specified in a flowchart, flowdiagram, etc. For example, functions or operations illustrated as beingperformed serially in two consecutive blocks may actually be performedsimultaneously, or in some cases be performed in reverse order.

Units and/or devices according to one or more example embodiments may beimplemented using hardware, software, and/or a combination thereof. Forexample, hardware devices may be implemented using processing circuitrysuch as, but not limited to, a processor, Central Processing Unit (CPU),a controller, an arithmetic logic unit (ALU), a digital signalprocessor, a microcomputer, a field programmable gate array (FPGA), aSystem-on-Chip (SoC), a programmable logic unit, a microprocessor, orany other device capable of responding to and executing instructions ina defined manner.

Software may include a computer program, program code, instructions, orsome combination thereof, for independently or collectively instructingor configuring a hardware device to operate as desired. The computerprogram and/or program code may include program or computer-readableinstructions, software components, software modules, data files, datastructures, and/or the like, capable of being implemented by one or morehardware devices, such as one or more of the hardware devices mentionedabove. Examples of program code include both machine code produced by acompiler and higher level program code that is executed using aninterpreter.

For example, when a hardware device is a computer processing device(e.g., a processor, Central Processing Unit (CPU), a controller, anarithmetic logic unit (ALU), a digital signal processor, amicrocomputer, a microprocessor, etc.), the computer processing devicemay be configured to carry out program code by performing arithmetical,logical, and input/output operations, according to the program code.Once the program code is loaded into a computer processing device, thecomputer processing device may be programmed to perform the programcode, thereby transforming the computer processing device into a specialpurpose computer processing device. In a more specific example, when theprogram code is loaded into a processor, the processor becomesprogrammed to perform the program code and operations correspondingthereto, thereby transforming the processor into a special purposeprocessor.

Software and/or data may be embodied permanently or temporarily in anytype of machine, component, physical or virtual equipment, or computerstorage medium or device, capable of providing instructions or data to,or being interpreted by, a hardware device. The software also may bedistributed over network coupled computer systems so that the softwareis stored and executed in a distributed fashion. In particular, forexample, software and data may be stored by one or more computerreadable recording mediums, including the tangible or non-transitorycomputer-readable storage media discussed herein.

According to one or more example embodiments, computer processingdevices may be described as including various functional units thatperform various operations and/or functions to increase the clarity ofthe description. However, computer processing devices are not intendedto be limited to these functional units. For example, in one or moreexample embodiments, the various operations and/or functions of thefunctional units may be performed by other ones of the functional units.Further, the computer processing devices may perform the operationsand/or functions of the various functional units without sub-dividingthe operations and/or functions of the computer processing units intothese various functional units.

Units and/or devices according to one or more example embodiments mayalso include one or more storage devices. The one or more storagedevices may be tangible or non-transitory computer-readable storagemedia, such as random access memory (RAM), read only memory (ROM), apermanent mass storage device (such as a disk drive), solid state (e.g.,NAND flash) device, and/or any other like data storage mechanism capableof storing and recording data. The one or more storage devices may beconfigured to store computer programs, program code, instructions, orsome combination thereof, for one or more operating systems and/or forimplementing the example embodiments described herein. The computerprograms, program code, instructions, or some combination thereof, mayalso be loaded from a separate computer readable storage medium into theone or more storage devices and/or one or more computer processingdevices using a drive mechanism. Such separate computer readable storagemedium may include a Universal Serial Bus (USB) flash drive, a memorystick, a Blu-ray/DVD/CD-ROM drive, a memory card, and/or other likecomputer readable storage media. The computer programs, program code,instructions, or some combination thereof, may be loaded into the one ormore storage devices and/or the one or more computer processing devicesfrom a remote data storage device via a network interface, rather thanvia a local computer readable storage medium. Additionally, the computerprograms, program code, instructions, or some combination thereof, maybe loaded into the one or more storage devices and/or the one or moreprocessors from a remote computing system that is configured to transferand/or distribute the computer programs, program code, instructions, orsome combination thereof, over a network. The remote computing systemmay transfer and/or distribute the computer programs, program code,instructions, or some combination thereof, via a wired interface, an airinterface, and/or any other like medium.

The one or more hardware devices, the one or more storage devices,and/or the computer programs, program code, instructions, or somecombination thereof, may be specially designed and constructed for thepurposes of the example embodiments, or they may be known devices thatare altered and/or modified for the purposes of example embodiments.

A hardware device, such as a computer processing device, may run anoperating system (OS) and one or more software applications that run onthe OS. The computer processing device also may access, store,manipulate, process, and create data in response to execution of thesoftware. For simplicity, one or more example embodiments may beexemplified as one computer processing device; however, one skilled inthe art will appreciate that a hardware device may include multipleprocessing elements and multiple types of processing elements. Forexample, a hardware device may include multiple processors or aprocessor and a controller. In addition, other processing configurationsare possible, such as parallel processors.

FIG. 1 illustrates an example of a walking assistance apparatus 100.

Referring to FIG. 1, the walking assistance apparatus 100 may beattached to a user to assist a gait of the user. The walking assistanceapparatus 100 may be, for example, a wearable device.

Although FIG. 1 illustrates the walking assistance apparatus 100provided as, for example, a hip-type walking assistance apparatus, atype of the walking assistance apparatus 100 is not limited thereto. Thewalking assistance apparatus 100 may be applicable to, for example, awalking assistance apparatus that supports an entire pelvic limb, awalking assistance apparatus that supports a portion of a pelvic limb,and the like. The walking assistance apparatus that supports a portionof a pelvic limb may be applicable to, for example, a walking assistanceapparatus that supports up to a knee, and a walking assistance apparatusthat supports up to an ankle.

Although, with reference to FIG. 1, the following descriptions areprovided based on the hip-type walking assistance apparatus as anexample, a type of the walking assistance apparatus is not limitedthereto. Thus, this disclosure may be applicable to any apparatus forassisting a gait of a user.

In an example, the walking assistance apparatus 100 may include a driver110, a sensor 120, an inertial measurement unit (IMU) 130, and acontroller 140.

In some example embodiments, the driver 110 may include a pair ofdrivers 110 that are disposed on respective ones of a left hip portionand a right hip portion of a user to drive the respective ones of hipjoints of the user. However, example embodiments are not limitedthereto. For example, in other example embodiments, the driver 110 mayonly be installed on one of the left hip portion and the right hipportion of the user. In some example embodiments, the driver 110 mayinclude a motor (not shown) to generate a rotation torque.

The sensor 120 may measure hip joint angle information of the user whilethe user is walking. The hip joint angle information may include atleast one of angles of both hip joints (or, alternatively, a single hipjoint), a difference in the angles of the hip joints, and movingdirections of the hip joints. In some example embodiments, the sensor120 may be included in the driver 110.

In some example embodiments, the sensor 120 may include at least onepotentiometer. The potentiometer may be configured to sense at least oneof R-axial and L-axial joint angle velocities and R-axial and L-axialjoint angles based on a gait motion of the user.

The IMU sensor 130 may measure acceleration information and postureinformation while the user is walking. For example, the IMU sensor 130may sense at least one of X-axial, Y-axial, and Z-axial angularvelocities and X-axial, Y-axial, and Z-axial accelerations based on thegait motion of the user. The walking assistance apparatus 100 may detecta landing time of a foot of the user based on the accelerationinformation measured by the IMU sensor 130.

As discussed below with reference to FIG. 11, a pressure sensor (notshown) may be located on a sole of the user to detect the landing timeof the foot of the user. Descriptions related to the pressure sensorwill be provided with reference to FIG. 11.

The walking assistance apparatus 100 may also include a sensor, forexample, an electromyogram (EMG) sensor configured to sense a change ina biosignal or an amount of exercise of the user based on the gaitmotion of the user as well as the sensor 120 and the IMU sensor 130.

The controller 140 may control the driver 110 to output a torque, forexample, an assisting torque, for assisting the user to walk. As anexample, a hip-type walking assistance apparatus may include two driversdisposed on, for example, a left hip portion and a right hip portion.The controller 140 may output a control signal to control the driver 110to generate the torque.

Based on the control signal output from the controller 140, the driver140 may generate the torque.

The torque may be set by an external source, and may also be set by thecontroller 140.

FIG. 2 illustrates another example of the walking assistance apparatus100.

Referring to FIG. 2, the walking assistance apparatus 100 may includethe driver 110 provided for a right leg and the driver 110 provided fora left leg.

In some example embodiments, the controller 140 may include a pluralityof controllers 140 each associated with controlling a respective one ofthe drivers 110. However, example embodiments are not limited thereto.For example, in other example embodiments, the controller 140 may beconfigured to control the drivers 110 on both sides.

Although descriptions are provided that FIG. 2 illustrates a front sideof the walking assistance apparatus 100 as an example, FIG. 2 is also beunderstood as illustrating a rear side of the walking assistanceapparatus 100 depending on an example.

In an example, a torque signal may be set for the driver 110 based on anoperation state of the walking assistance apparatus 100. The driver 110may generate a torque based on the set torque signal. For example, thetorque signal may be set for the driver 110 based on a gait frequency ofthe walking assistance apparatus 100.

In another example, the walking assistance apparatus 100 may adjust thetorque signal based on an operation result of the walking assistanceapparatus 100. For example, the operation result may be provided as afeedback.

As an example, the walking assistance apparatus 100 may calculate thetorque signal based on a positive feedback. The walking assistanceapparatus 100 may construct a closed loop to calculate the torquesignal.

FIGS. 3 and 4 illustrate examples of a biological muscle model.

A hill type muscle model studied in a medical engineering field may havetwo features.

As one feature, when a stimulation signal is input to a muscle, theinput stimulation signal may be amplified proportionally to a forcegenerated by the muscle. Here, the aforementioned phenomenon may also bereferred to as, for example, a positive feedback.

As another feature, the force, for example, a muscular force, amplifiedin response to the stimulation signal may have a desired (or,alternatively, a predetermined) relational formula based on a length ofthe muscle and a flexion speed of the muscle.

FIG. 3 illustrates an example of a relationship between a length of amuscle and a force to be generated.

A graph of FIG. 3 represents that muscle strength is relatively low whena degree of muscle extension and a degree of muscle flexion aremaximized. For example, the graph of FIG. 3 represents that the musclestrength is maximized when a muscle has an appropriate length, forexample, in a middle region between where the degree of muscle flexionis minimum and maximum.

FIG. 4 illustrates an example of a relationship between a flexion speedof a muscle and a force to be generated according to at least oneexample embodiment.

A graph of FIG. 4 represents a force generated based on a velocity of achange in a length of a muscle. As shown in the graph, the generatedforce increases according to an increase in the velocity.

FIG. 5 is a block diagram illustrating an example of a controller 500 ofa walking assistance apparatus.

The controller 500 may correspond to the controller 140 of FIG. 1. Insome example embodiments, the controller 500 may perform the functionsof a torque setting apparatus. For example, the walking assistanceapparatus 100 may include the controller 500 as the torque settingapparatus.

Referring to FIG. 5, the controller 500 may include a communicator 510,a processor 520, a first sensor 530, a second sensor 540, and a storage550.

The communicator 510 may exchange data with other elements of thewalking assistance apparatus 100 connected to the controller 500. Forexample, the processor 520 may transfer a signal to the driver 110 usingthe communicator 510.

The first sensor 530 may measure a rotation angle of the walkingassistance apparatus 100. The rotation angle of the walking assistanceapparatus 100 may be, for example, an angle by which the driver isrotated.

The second sensor 540 may measure a rotation angular velocity of thewalking assistance apparatus 100. The rotation angular velocity of thewalking assistance apparatus 100 may be, for example, an angularvelocity at which the driver 110 is rotated.

In some example embodiments, the first sensor 530 and the second sensor540 may each be discrete sensors provided separately. However, exampleembodiments are not limited thereto. For example, in another exampleembodiment, the first sensor 530 and the second sensor 540 may beincluded in a single sensor, for example, the sensor 120. When the firstsensor 530 and the second sensor 540 are included in the single sensor,the descriptions related to the first sensor 530 and the second sensor540 may be understood as descriptions about the single sensor.

The storage 550 may be a non-volatile memory, a volatile memory, a harddisk, an optical disk, and a combination of two or more of theabove-mentioned devices. The memory may be a non-transitory computerreadable medium. The non-transitory computer-readable media may also bea distributed network, so that the program instructions are stored andexecuted in a distributed fashion. The non-volatile memory may be a ReadOnly Memory (ROM), a Programmable Read Only Memory (PROM), an ErasableProgrammable Read Only Memory (EPROM), or a flash memory. The volatilememory may be a Random Access Memory (RAM).

The storage 550 may store a profile for calculating a torque. Forexample, the storage 550 may store a function for calculating a firstvalue corresponding to the measured rotation angle and a function forcalculating a second value corresponding to the measured rotationangular velocity.

The processor 520 may be implemented by at least one semiconductor chipdisposed on a printed circuit board. The processor 520 may be anarithmetic logic unit, a digital signal processor, a microcomputer, afield programmable array, a programmable logic unit, a microprocessor orany other device capable of responding to and executing instructions ina defined manner such that the processor 520 is programmed withinstructions that configure the processor into a special purposecomputer to perform the operations illustrated in one or more of FIGS.6-12, such that the processor 520 is configured to instruct the driver110 to provide a level of torque that is similar to an actual musclemodel of a user. For example, the processor 520 may instruct the driver110 to provide a torque having a rotation angle and rotation angularvelocity that is similar to a change in a length and a linear velocityof the actual muscle of the user. Therefore, the processor 520 mayimprove the functioning of the walking assistance apparatus 100 itselfby providing a torque similar to the actual muscular movement of theuser.

The processor 520 may process data provided from the communicator 510,the first sensor 530, the second sensor 540, and the storage 550. Theprocessor 520 may generate a signal for generating a torque, forexample, a torque signal by processing the provided data.

Descriptions related to the communicator 510, the processor 520, thefirst sensor 530, the second sensor 540, and the storage 540 will alsobe provided with reference to FIGS. 6 through 12.

FIG. 6 is a flowchart illustrating an example of a torque settingmethod.

Referring to FIG. 6, a torque signal generating method will be describedthrough operations 610 through 640. When a generated torque signal isset for the driver 110, the walking assistance apparatus 100 may performan operation. Hereinafter, the walking assistance apparatus 100 may alsobe referred to as, for example, an apparatus 100.

In operation 610, the first sensor 530 may measure a rotation angle ofthe apparatus 100. For example, the first sensor 530 may measure arotation angle of the driver 110 in the apparatus 100.

The rotation angle may be, for example, an angle by which a foot of auser wearing the driver 110 is rotated based on a central axis of theuser. The central axis of the user may be perpendicular to a surface ofa ground.

In some example embodiments, when the controller 500 controls the driver110 located on a first leg of the user, the first sensor 530 may measurea rotation angle of the driver 110 located on a second leg of the user.

In other example embodiments, when the controller 500 controls thedrivers 110 located on both legs of the user, the first sensor 530 maymeasure rotation angles of both of the drivers 110.

In operation 620, the second sensor 540 may measure a rotation angularvelocity of the apparatus 100. For example, the second sensor 540 maymeasure a rotation angular velocity of the driver 110 in the apparatus100.

The rotation angular velocity may be, for example, a velocity of therotation angle changing over time.

In some example embodiments, operations 610 and operation 620 may beperformed in parallel (or, alternatively, simultaneously). In otherexample embodiments, operation 610 may be performed before or afteroperation 620.

In operation 630, the processor 520 may calculate a torque based on therotation angle and the rotation angular velocity.

Descriptions related to a torque calculating method will be providedwith reference to FIGS. 7 through 9 and 12. As discussed below withreference to FIG. 12, in some example embodiments, the processor 520 maycalculate the torque T in accordance with Equation 1, discussed below.

In operation 640, the processor 520 may set the calculated torque forthe driver 110. For example, the processor 520 may set a torque signalindicating the calculated torque for the driver 110.

After operation 640 is performed, operation 610 and operation 620 may beperformed again.

In an example, in a process of re-performing operation 630, a torque maybe calculated based on a torque set in a previous loop. To calculate acurrent torque, the torque calculated in the previous torque may beapplied as a form of a positive feedback.

Descriptions related to a method of calculating a torque based on thepositive feedback will be provided with reference to FIG. 12.

FIG. 7 is a flowchart illustrating an example of a torque calculatingmethod.

Operation 630 may include operations 710 through 730.

In operation 710, the processor 520 may calculate a first valuecorresponding to a rotation angle.

In an example, the processor 520 may calculate the first valuecorresponding to the rotation angle based on a first function stored inthe storage 550. Descriptions related to the first function will beprovided as an example with reference to FIG. 8.

In operation 720, the processor 520 may calculate a second valuecorresponding to a rotation angular velocity.

In an example, the processor 520 may calculate the second valuecorresponding to the rotation angular velocity based on a secondfunction stored in the storage 550. Descriptions related to the secondfunction will be provided as an example with reference to FIG. 9. Insome example embodiments, the processor 520 may perform operation 720before operation 710.

In operation 730, the processor 520 may calculate a torque based on thefirst value and the second value.

For example, the processor 520 may calculate the torque based on a valueobtained by multiplying the first value and the second value.

FIG. 8 illustrates an example of a function expressing a first valuecorresponding to a rotation angle according to at least one exampleembodiment.

Referring to FIG. 8, θ indicates a rotation angle, and C_(f)(θ)indicates a first value.

θ_(min) indicates a minimum value of the rotation angle, and θ_(max)indicates a maximum value of the rotation angle.

In an interval in which a value of the rotational angle θ corresponds toa range between the minimum rotational angle θ_(min) and a rotationalangle of zero (0), a leg including the driver 110 may be located in arear area relative to an upper body. In an interval in which the valueof the rotational angle θ corresponds to a range between the rotationalangle of zero 0 through the maximum rotational angle θ_(max), the legincluding the driver 110 may be located in a front area relative to theupper body. When the value of the rotational angle θ is 0, the leg maybe in a straight line with the upper body.

An interval between θ_(min) and θ_(max) may be an interval in which aleg swings for a gait. When the rotation angle changes from θ_(min) toθ_(max), a user may be in a state of taking a step with a first legincluding the driver 110 to perform the gait. Alternatively, when therotation angle changes from θ_(max) to θ_(min), the first leg maysupport a body while a second leg is swinging.

The processor 520 may calculate a first value corresponding to themeasured rotation angle based on a first function. The first value maybe, for example, a value within a range between a minimum (a) and amaximum (b), the range a to b may be a desired (or, alternatively, apredetermined range).

Based on the first function, the maximum value (b) may be obtained asthe first value when the rotation angle is 0, and a minimum value (a)may be obtained as the first value when the rotation angle is θ_(min)and θ_(max).

In an example, the first function may be in a form of a normaldistribution. The aforementioned feature of the first function mayindicate a relationship similar to a relationship of a force generatedby a muscle based on a length of the muscle in practice.

FIG. 9 illustrates an example a function expressing a second valuecorresponding to a rotation angular velocity according to at least oneexample embodiment.

Referring to FIG. 9, {dot over (θ)} indicates a rotation angularvelocity, and C_(v)({dot over (θ)}) indicates a second value. The secondvalue may be, for example, a value within a range between c and d. Therange c to d may be a desired (or, alternatively, a predetermined)range.

{dot over (θ)}_(min) indicates a minimum value of the rotation angularvelocity, and {dot over (θ)}_(max) indicates a maximum value of therotation angular velocity.

When a value of C_(v)({dot over (θ)}) is large, the rotation angularvelocity {dot over (θ)} may be relatively high. Also, when the value ofC_(v)({dot over (θ)}) is small, the rotation angular velocity {dot over(θ)} may be relatively low.

As an example, when a first leg including the driver 110 moves fast, thevalue of the rotational angular velocity {dot over (θ)} may be large.Also, when the first leg moves slowly, the value of the value of therotational angular velocity {dot over (θ)} may be small.

Based on a second function, the second value C_(v)({dot over (θ)}) mayincrease according to an increase in the value of rotation angularvelocity {dot over (θ)} until reaching a determined (or, alternatively,a predetermined) interval. From the determined (or, alternatively, thepredetermined) interval, the second value C_(v)({dot over (θ)}) may bemaintained to be the same. The second function may be in a form of asigmoid. For example, the second function may be a mathematical functionhaving an “S” shape sigmoid curve. For example, the second function maybe a bounded differentiable real function that is defined for all realinput values and has a positive derivative at each point.

The aforementioned feature of the second function may indicate arelationship similar to a relationship of a force generated by a musclebased on an extension velocity of the muscle in practice.

By applying the first function and the second function to a torquecalculation, a change in a length of an actual muscle and a linearvelocity of the actual muscle may be imitated by the rotation angle andthe rotation angular velocity of the driver 110 or a motor. Concisely,the driver 110 may be used to express a joint of a user to which arotating type muscle is attached.

FIG. 10 is a flowchart illustrating an example of generating a triggersignal, and transmitting and receiving the generated trigger signalaccording to at least one example embodiment.

Referring to FIG. 10, a torque signal may not be set for the driver 110.For example, the driver 110 may provide an assistance torque in responseto a swing of a leg. When the leg is supporting a body in lieu ofswinging, the driver 110 may not provide the assistance torque based ona rotation angle.

When the leg is supporting the body, the driver 110 may provide a torqueset in advance.

In an example, a torque signal to be transmitted to the driver 110 maybe generated only when a trigger signal is received.

Operations 1010 and 1020 may be performed in parallel with the foregoingoperations 610 through 640.

The controller 500 may further include a pressure sensor. The pressuresensor may be located around a sole of a foot of a user. The pressuresensor may measure a pressure applied to the sole. Descriptions relatedto a location of the pressure sensor will be provided with reference toFIG. 11.

In operation 1010, the pressure sensor may generate a trigger signal.

In an example, the pressure sensor may generate the trigger signal whenthe measured pressure exceeds a preset threshold.

The trigger signal may be generated when a second leg of a user is incontact with a ground. Here, the second leg may be a leg differing froma first leg of the user generating a rotation angle. When a swing of aleg moving forward, for example, the first leg ends, the trigger signalmay be generated for a swing of a leg supporting a body, for example,the second leg.

In operation 1020, the pressure sensor may transmit the trigger signalto the communicator 510. The communicator 510 may receive the triggersignal from the pressure sensor.

In an example, the pressure sensor may wired or wirelessly transmit thetrigger signal to the communicator 510, and the communicator 510 maywired or wirelessly receive the trigger signal from the pressure sensor.The pressure sensor and the communicator 510 may use, for example,Bluetooth for a wireless communication.

In response to the received trigger signal, the processor 520 mayperform operation 640. Therefore, in operation 640, the processor 520may further determine whether the trigger signal is received.

In operation 640, the processor 520 may set a torque signal for thedriver 110 in response to the received trigger signal.

FIG. 11 illustrates an example of a pressure sensor.

The pressure sensor may be located around a sole of a foot 1100 of auser. As an example, the pressure sensor may be disposed under the sole.As another example, the pressure sensor may be attached to a shoe of theuser to measure a pressure applied to the sole.

In an example, a plurality of pressure sensors may be provided. Aplurality of pressure sensors 1110 through 1130 may measure pressuresapplied to portions of the sole. As an example, a trigger signal may begenerated when a pressure measured by the pressure sensor 1130 disposedon a heel of the foot exceeds a threshold.

FIG. 12 illustrates an example of a processor calculating a torque in aclosed loop.

Referring to FIGS. 6 and 12, a closed loop may form a positive feedback.

In operation 640, the processor 520 may calculate the torque T based onEquation 1.T=K _(m) C _(f)(θ)C _(v)({dot over (θ)})S  [Equation 1]

In Equation 1, T denotes the torque, K_(m) denotes gain set for asystem, C_(f)(θ) denotes a first value, C_(v)({dot over (θ)}) denotes asecond value, and S denotes a having signal.

The processor 520 may calculate the having signal S based on Equation 2.S=S _(ini) +K _(s) T  [Equation 2]

In Equation 2, S_(ini) denotes an initial having signal, and K_(s)denotes preset gain. K_(s) may be adjusted based on a system.

The initial having signal S_(ini) may be input in response to thereceived trigger signal.

The processor 520 may calculate the torque T based on the positivefeedback such that the driver operates similarly or identically to anactual muscle. A user wearability may be improved based on a method ofcalculating a torque based on a positive feedback.

In the foregoing operation 630, the processor 520 may calculate a secondtorque based on a first torque set for an apparatus, a rotation angle,and a rotation angular velocity.

The first torque may be, for example, a torque calculated through aprevious loop to be set for the driver 110. The second torque may be,for example, a current torque to be set.

In operation 640, the processor 520 may set a torque signal of thesecond torque to the driver 110.

The units and/or modules described herein may be implemented usinghardware components and software components. For example, the hardwarecomponents may include microphones, amplifiers, band-pass filters, audioto digital convertors, and processing devices. A processing device maybe implemented using one or more hardware device configured to carry outand/or execute program code by performing arithmetical, logical, andinput/output operations. The processing device(s) may include aprocessor, a controller and an arithmetic logic unit, a digital signalprocessor, a microcomputer, a field programmable array, a programmablelogic unit, a microprocessor or any other device capable of respondingto and executing instructions in a defined manner. The processing devicemay run an operating system (OS) and one or more software applicationsthat run on the OS. The processing device also may access, store,manipulate, process, and create data in response to execution of thesoftware. For purpose of simplicity, the description of a processingdevice is used as singular; however, one skilled in the art willappreciated that a processing device may include multiple processingelements and multiple types of processing elements. For example, aprocessing device may include multiple processors or a processor and acontroller. In addition, different processing configurations arepossible, such a parallel processors.

The software may include a computer program, a piece of code, aninstruction, or some combination thereof, to independently orcollectively instruct and/or configure the processing device to operateas desired, thereby transforming the processing device into a specialpurpose processor. Software and data may be embodied permanently ortemporarily in any type of machine, component, physical or virtualequipment, computer storage medium or device, or in a propagated signalwave capable of providing instructions or data to or being interpretedby the processing device. The software also may be distributed overnetwork coupled computer systems so that the software is stored andexecuted in a distributed fashion. The software and data may be storedby one or more non-transitory computer readable recording mediums.

The methods according to the above-described example embodiments may berecorded in non-transitory computer-readable media including programinstructions to implement various operations of the above-describedexample embodiments. The media may also include, alone or in combinationwith the program instructions, data files, data structures, and thelike. The program instructions recorded on the media may be thosespecially designed and constructed for the purposes of exampleembodiments. Examples of non-transitory computer-readable media includemagnetic media such as hard disks, floppy disks, and magnetic tape;optical media such as CD-ROM discs, DVDs, and/or Blue-ray discs;magneto-optical media such as optical discs; and hardware devices thatare specially configured to store and perform program instructions, suchas read-only memory (ROM), random access memory (RAM), flash memory(e.g., USB flash drives, memory cards, memory sticks, etc.), and thelike. Examples of program instructions include both machine code, suchas produced by a compiler, and files containing higher level code thatmay be executed by the computer using an interpreter. Theabove-described devices may be configured to act as one or more softwaremodules in order to perform the operations of the above-describedexample embodiments, or vice versa.

A number of example embodiments have been described above. Nevertheless,it should be understood that various modifications may be made to theseexample embodiments. For example, suitable results may be achieved ifthe described techniques are performed in a different order and/or ifcomponents in a described system, architecture, device, or circuit arecombined in a different manner and/or replaced or supplemented by othercomponents or their equivalents. Accordingly, other implementations arewithin the scope of the following claims.

What is claimed is:
 1. A torque setting method comprising: measuring arotation angle of a walking assistance apparatus; measuring a rotationangular velocity of the walking assistance apparatus; calculating atorque setting by applying the rotation angle to a first function havinga normal distribution and the rotation angular velocity to a secondfunction having a sigmoidal distribution; and setting a torque for thewalking assistance apparatus as the torque setting.
 2. The method ofclaim 1, wherein the measuring the rotation angle and the measuring therotation angular velocity are measured by at least one potentiometer. 3.The method of claim 1, wherein the calculating comprises: calculating afirst value associated with the rotation angle; calculating a secondvalue associated with the rotation angular velocity; and calculating thetorque setting based on the first value and the second value.
 4. Themethod of claim 3, wherein the calculating the first value comprisescalculating the first value based on the first function, and thecalculating the second value comprises calculating the second valuebased on the second function.
 5. The method of claim 4, wherein thefirst function is a function having the normal distribution and thesecond function is a sigmoidal function.
 6. The method of claim 1,wherein the rotation angle is an angle by which a foot of a user wearingthe walking assistance apparatus is rotated relative to a central axisof the user.
 7. The method of claim 1, wherein the rotation angularvelocity is a velocity by which the rotation angle changes over time. 8.The method of claim 1, further comprising: receiving a trigger signal,wherein the setting sets the torque in response to the trigger signal.9. The method of claim 8, further comprising: generating the triggersignal, wherein the generating comprises generating the trigger signalwhen a second leg of the user is in contact with a ground, and thesecond leg differs from a first leg of the user generating the rotationangle.
 10. The method of claim 9, wherein the generating the triggersignal comprises: generating the trigger signal by a pressure sensorlocated on a sole of the second leg.
 11. The method of claim 1, whereinthe calculating comprises calculating the torque setting associated witha current iteration based on the torque setting associated with a prioriteration, the rotation angle, and the rotation angular velocity, andthe setting comprises setting the torque for the walking assistanceapparatus to the torque setting associated with the current iteration.12. A torque setting apparatus comprises: at least one sensor configuredto measure a rotation angle and a rotation angular velocity of a walkingassistance apparatus; and a processor configured to, calculate a torquesetting of the walking assistance apparatus by applying the rotationangle to a first function having a normal distribution and the rotationangular velocity to a second function having a sigmoidal distribution,and set a torque for the walking assistance apparatus as the torquesetting.
 13. The apparatus of claim 12, wherein the processor isconfigured to, calculate a first value associated with the rotationangle, calculate a second value associated with the rotation angularvelocity, and calculate the torque setting based on the first value andthe second value.
 14. The apparatus of claim 13, wherein the processoris configured to, calculate the first value based on the first function,and calculate the second value based on the second function.
 15. Theapparatus of claim 14, wherein the first function is function having thenormal distribution and the second function is a sigmoidal function. 16.The apparatus of claim 12, wherein the rotation angle is an angle bywhich a foot of a user wearing the walking assistance apparatus isrotated relative to a central axis of the user.
 17. The apparatus ofclaim 12, further comprising: a communicator configured to receive atrigger signal, wherein the processor is configured to set the torque inresponse to the trigger signal.
 18. The apparatus of claim 17, furthercomprising: a pressure sensor configured to generate the trigger signal,wherein the generating comprises generating the trigger signal when asecond leg of a user is in contact with a ground, and the second legdiffers from a first leg of the user generating the rotation angle. 19.The apparatus of claim 18, wherein the pressure sensor is configured togenerate the trigger signal based on a pressure on a sole of the secondleg of the user.
 20. The apparatus of claim 12, wherein the processor isconfigured to, calculate the torque setting as the torque settingassociated with a current iteration based on the torque settingassociated with a prior iteration, the rotation angle, and the rotationangular velocity, and set the torque for the walking assistanceapparatus to the torque setting associated with the current iteration.